<?xml version="1.0"?>
<Manifest
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:dssp="http://schemas.microsoft.com/xw/2004/10/dssp.html"
  xmlns:referee="http://schemas.microsoft.com/robotics/simulation/2007/02/simulatedreferee.html"
  xmlns="http://schemas.microsoft.com/xw/2004/10/manifest.html">
  <CreateServiceList>

    <!-- Referee Service -->
    <ServiceRecordType>
      <dssp:Contract>http://schemas.microsoft.com/robotics/simulation/2007/02/simulatedreferee.html</dssp:Contract>
      <dssp:PartnerList>
        <!--Initial config file -->
        <dssp:Partner>
          <dssp:Service>SimulatedSoccer.Referee.Config.xml</dssp:Service>
          <dssp:Name>dssp:StateService</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>
      <Name>referee:Referee</Name>
    </ServiceRecordType>

    <!-- 
        Soccer player. Red Team. It partners with referee and initial state file.
        The referee service can be in another node/machine. Since in thi smanifest its started
        locally, we rely on the manifest loader to pass its uri to the player, on startup
        -->
    <ServiceRecordType>
      <dssp:Contract>http://www.promrds.com/ProMRDS/2007/12/simplesoccerplayer.html</dssp:Contract>
      <dssp:Service>http://localhost/RedTeam/GoalKeeper</dssp:Service>
      <dssp:PartnerList>
        <!-- If the player needs to load state, uncomment this element
        <dssp:Partner>          
          <dssp:Service>SimulatedSoccer.SimplePlayer.RedTeam.Config.xml</dssp:Service>          
          <dssp:Name>dssp:StateService</dssp:Name>
        </dssp:Partner>
        -->
        <dssp:Partner>
          <dssp:Name>referee:Referee</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>
    </ServiceRecordType>

    <!-- 
        Second Soccer player. Red Team
        -->
    <ServiceRecordType>
      <dssp:Contract>http://www.promrds.com/ProMRDS/2007/12/simplesoccerplayer.html</dssp:Contract>
      <dssp:Service>http://localhost/RedTeam/Field/2</dssp:Service>
      <dssp:PartnerList>
        <dssp:Partner>
          <dssp:Name>referee:Referee</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>
    </ServiceRecordType>

    <!-- 
        Goalkeeper. Blue Team
        -->
    <ServiceRecordType>
      <dssp:Contract>http://www.promrds.com/ProMRDS/2007/12/bettersoccerplayer.html</dssp:Contract>
      <dssp:Service>http://localhost/BlueTeam/GoalKeeper</dssp:Service>
      <dssp:PartnerList>
        <dssp:Partner>
          <dssp:Name>referee:Referee</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>
    </ServiceRecordType>

    <!-- Second Soccer player. Blue Team -->
    <ServiceRecordType>
      <dssp:Contract>http://www.promrds.com/ProMRDS/2007/12/bettersoccerplayer.html</dssp:Contract>
      <dssp:Service>http://localhost/BlueTeam/Field/2</dssp:Service>
      <dssp:PartnerList>
        <dssp:Partner>
          <dssp:Name>referee:Referee</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>
    </ServiceRecordType>

    <!-- 
        Simulation services 
    -->

    <ServiceRecordType>
      <dssp:Contract>http://schemas.microsoft.com/robotics/2006/04/simulationengine.html</dssp:Contract>
      <dssp:PartnerList>
        <dssp:Partner>
          <dssp:Contract>http://schemas.microsoft.com/robotics/2006/04/simulationengine.html</dssp:Contract>
          <dssp:Service>SimulatedSoccer.Corobot.FourPlayers.State.xml</dssp:Service>
          <dssp:Name>dssp:StateService</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>
    </ServiceRecordType>

    <ServiceRecordType>
      <dssp:Contract>http://www.promrds.com/contracts/2007/12/corobotsoccerplayers.html</dssp:Contract>
    </ServiceRecordType>

    <ServiceRecordType>
      <dssp:Contract>http://www.promrds.com/contracts/2007/07/simulatedquaddifferentialdrive.html</dssp:Contract>
      <dssp:Service>http://localhost/redteam/goalkeeper/simulatedsoccerplayer/robotmotioncontrol</dssp:Service>
      <dssp:PartnerList>
        <dssp:Partner>
          <dssp:Service>http://localhost/redteam/goalkeeper/simulatedsoccerplayer/robotmotioncontrol</dssp:Service>
          <dssp:Name xmlns:q1="http://schemas.microsoft.com/robotics/2006/04/simulation.html">q1:Entity</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>
    </ServiceRecordType>

    <ServiceRecordType>
      <dssp:Contract>http://schemas.microsoft.com/2006/09/simulatedwebcam.html</dssp:Contract>
      <dssp:Service>http://localhost/redteam/goalkeeper/simulatedsoccerplayer/robocam</dssp:Service>
      <dssp:PartnerList>
        <dssp:Partner>
          <dssp:Service>http://localhost/redteam/goalkeeper/simulatedsoccerplayer/robocam</dssp:Service>
          <dssp:Name xmlns:q3="http://schemas.microsoft.com/robotics/2006/04/simulation.html">q3:Entity</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>
    </ServiceRecordType>

    <ServiceRecordType>
      <dssp:Contract>http://www.promrds.com/contracts/2007/07/simulatedquaddifferentialdrive.html</dssp:Contract>
      <dssp:Service>http://localhost/blueteam/field/2/simulatedsoccerplayer/robotmotioncontrol</dssp:Service>
      <dssp:PartnerList>
        <dssp:Partner>
          <dssp:Service>http://localhost/blueteam/field/2/simulatedsoccerplayer/robotmotioncontrol</dssp:Service>
          <dssp:Name xmlns:q4="http://schemas.microsoft.com/robotics/2006/04/simulation.html">q4:Entity</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>
    </ServiceRecordType>

    <ServiceRecordType>
      <dssp:Contract>http://schemas.microsoft.com/2006/09/simulatedwebcam.html</dssp:Contract>
      <dssp:Service>http://localhost/blueteam/field/2/simulatedsoccerplayer/robocam</dssp:Service>
      <dssp:PartnerList>
        <dssp:Partner>
          <dssp:Service>http://localhost/blueteam/field/2/simulatedsoccerplayer/robocam</dssp:Service>
          <dssp:Name xmlns:q6="http://schemas.microsoft.com/robotics/2006/04/simulation.html">q6:Entity</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>
    </ServiceRecordType>

    <ServiceRecordType>
      <dssp:Contract>http://www.promrds.com/contracts/2007/07/simulatedquaddifferentialdrive.html</dssp:Contract>
      <dssp:Service>http://localhost/redteam/field/2/simulatedsoccerplayer/robotmotioncontrol</dssp:Service>
      <dssp:PartnerList>
        <dssp:Partner>
          <dssp:Service>http://localhost/redteam/field/2/simulatedsoccerplayer/robotmotioncontrol</dssp:Service>
          <dssp:Name xmlns:q7="http://schemas.microsoft.com/robotics/2006/04/simulation.html">q7:Entity</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>
    </ServiceRecordType>

    <ServiceRecordType>
      <dssp:Contract>http://schemas.microsoft.com/2006/09/simulatedwebcam.html</dssp:Contract>
      <dssp:Service>http://localhost/redteam/field/2/simulatedsoccerplayer/robocam</dssp:Service>
      <dssp:PartnerList>
        <dssp:Partner>
          <dssp:Service>http://localhost/redteam/field/2/simulatedsoccerplayer/robocam</dssp:Service>
          <dssp:Name xmlns:q9="http://schemas.microsoft.com/robotics/2006/04/simulation.html">q9:Entity</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>
    </ServiceRecordType>

    <ServiceRecordType>
      <dssp:Contract>http://www.promrds.com/contracts/2007/07/simulatedquaddifferentialdrive.html</dssp:Contract>
      <dssp:Service>http://localhost/blueteam/goalkeeper/simulatedsoccerplayer/robotmotioncontrol</dssp:Service>
      <dssp:PartnerList>
        <dssp:Partner>
          <dssp:Service>http://localhost/blueteam/goalkeeper/simulatedsoccerplayer/robotmotioncontrol</dssp:Service>
          <dssp:Name xmlns:q10="http://schemas.microsoft.com/robotics/2006/04/simulation.html">q10:Entity</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>
    </ServiceRecordType>

    <ServiceRecordType>
      <dssp:Contract>http://schemas.microsoft.com/2006/09/simulatedwebcam.html</dssp:Contract>
      <dssp:Service>http://localhost/blueteam/goalkeeper/simulatedsoccerplayer/robocam</dssp:Service>
      <dssp:PartnerList>
        <dssp:Partner>
          <dssp:Service>http://localhost/blueteam/goalkeeper/simulatedsoccerplayer/robocam</dssp:Service>
          <dssp:Name xmlns:q12="http://schemas.microsoft.com/robotics/2006/04/simulation.html">q12:Entity</dssp:Name>
        </dssp:Partner>
      </dssp:PartnerList>
    </ServiceRecordType>
  </CreateServiceList>
</Manifest>